package com.gale.park.modules.pms.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gale.park.modules.pms.dto.SeatConditionDTO;
import com.gale.park.modules.pms.model.PmsSeat;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Gale
 * @since 2022-02-16
 */
public interface PmsSeatService extends IService<PmsSeat> {

    /**
     * 通过车位编号获取车位信息
     * @param seatId
     * @return
     */
    PmsSeat getSeatById(String seatId);

    /**
     * 添加车位
     * @param seat
     * @return
     */
    boolean create(PmsSeat seat);

    /**
     * 获取车位列表
     * @param condition
     * @return
     */
    Page<PmsSeat> list(SeatConditionDTO condition);

    /**
     * 通过id批量删除车位
     * @param ids
     * @return
     */
    boolean deleteByIds(List<String> ids);

    /**
     * 通过id删除车位
     * @param id
     * @return
     */
    boolean deleteById(String id);

    /**
     * 通过id获取车位信息
     * @param id
     * @return
     */
    PmsSeat updateInfo(String id);

    /**
     * 修改车位信息
     * @param seat
     * @return
     */
    boolean update(PmsSeat seat);


    /**
     * 修改车位状态
     * @param seatId
     * @param i
     */
    void updateStatus(String seatId, int i);

}
